function get(options){
    var {url,data,async=true,dataType="text",success} = options;
    if(data instanceof Object){  // 如果数据是一个对象  循环对象 拼接成字符串 
        var str = "";
        for(var key in data){   // 循环对象 
            console.log(key,data[key])
            str += key+"="+data[key]+"&";
        }
        data = str.substring(0,str.length-1);   //字符串截取 
    }
    console.log(data)
    var xhr = new XMLHttpRequest();
    xhr.open("get",data?url+'?'+data:url,async);
    xhr.send()
    xhr.onreadystatechange = function(){
        if(xhr.readyState==4 && xhr.status ==200){
            // var result = JSON.parse(xhr.responseText);  不一定所有的返回数据都是 json
            var result = xhr.responseText;
            if(dataType=="json"){
                result = JSON.parse(result);
            }
            // console.log(result)

            // success 回调函数   
            // 根据后台返回的数据的内容进行判断 是否操作成功  
            // 登录接口  成功/失败   进入主页/ 重新登录
            // 删除接口  成功/失败   页面删除/ 提示删除失败
            // 一对多 以不变应万变 
            if(success){
                success(result)    // 把result 暴露给调用的环境 
            }
            
            // const {status,detail} =  result;
            // if(status){
            //     // 修改成功
            //     loadGrade()
            //     editmodal.style.display = "none";
            // }
        }
    }
}


function post(options){
    var {url,data,async=true,dataType="text",success} = options;
    if(data instanceof Object){  // 如果数据是一个对象  循环对象 拼接成字符串 
        var str = "";
        for(var key in data){   // 循环对象 
            console.log(key,data[key])
            str += key+"="+data[key]+"&";
        }
        data = str.substring(0,str.length-1);   //字符串截取 
    }
    console.log(data)
    var xhr = new XMLHttpRequest();
    xhr.open("post",url,async);
    xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");   // 设置请求头的数据类型 
    xhr.send(data);   // 带参数 
    xhr.onreadystatechange = function(){
        if(xhr.readyState==4 && xhr.status ==200){
            // var result = JSON.parse(xhr.responseText);  不一定所有的返回数据都是 json
            var result = xhr.responseText;
            if(dataType=="json"){
                result = JSON.parse(result);
            }
           
            if(success){
                success(result)    // 把result 暴露给调用的环境 
            }
            
          
        }
    }
}


// post  和  get 函数  合并一起  
function ajax(options){
    var {type="get",url,data,async=true,dataType="text",success} = options;
    if(data instanceof Object){  // 如果数据是一个对象  循环对象 拼接成字符串 
        var str = "";
        for(var key in data){   // 循环对象 
            console.log(key,data[key])
            str += key+"="+data[key]+"&";
        }
        data = str.substring(0,str.length-1);   //字符串截取 
    }
    console.log(data);


    var xhr = new XMLHttpRequest();
    if(type=="get"){
        xhr.open("get",data?url+'?'+data:url,async);
        xhr.send()
    }else{
        xhr.open("post",url,async);
        xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");   // 设置请求头的数据类型 
        xhr.send(data);   // 带参数 
    }
   
    xhr.onreadystatechange = function(){
        if(xhr.readyState==4 && xhr.status ==200){
            // var result = JSON.parse(xhr.responseText);  不一定所有的返回数据都是 json
            var result = xhr.responseText;
            if(dataType=="json"){
                result = JSON.parse(result);
            }

            if(success){
                success(result)    // 把result 暴露给调用的环境 
            }
        }
    }
}
